home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / xarchie-2.0.9 / db.h < prev    next >
C/C++ Source or Header  |  1995-06-18  |  1KB  |  52 lines

  1. /*
  2.  * db.h : Definitions of the database record type, and external defs of
  3.  *    the database functions.
  4.  *
  5.  * George Ferguson, ferguson@cs.rochester.edu, 2 Nov 1991.
  6.  * Version 2.0: 23 Apr 1993.
  7.  */
  8.  
  9. #ifndef DB_H
  10. #define DB_H
  11.  
  12. #include "pfs.h"        /* for VLINK */
  13.  
  14. #define DB_NOTYPE    0
  15. #define DB_FILE        1
  16. #define DB_DIRECTORY    2
  17. #define DB_LOCATION    3
  18. #define DB_HOST        4
  19.  
  20. typedef struct _DbEntry {
  21.     char *name;            /* print name */
  22.     int type;            /* DB_{FILE,DIRECTORY} */
  23. #ifdef MSDOS
  24.     unsigned long size;
  25. #else
  26.     int size;
  27. #endif
  28.     char *modes;        /* drwxrwxrwx + \0 */
  29.     char *date;            /* "mmm dd yyyy\0" or "mmm dd hh:mm\0" */
  30.     char *gt_date;        /* YYYYMMDDHHMMSSZ\0 */
  31.     int selected;        /* Selected in browser? Where? */
  32.     VLINK vlink;        /* Prospero VLINK for expansion */
  33.     struct _DbEntry *entries;        /* children */
  34.     struct _DbEntry *next,*prev;    /* siblings */
  35.     struct _DbEntry *parent;        /* parent */
  36. } DbEntry;
  37.  
  38. extern DbEntry*newEntry();
  39. extern void clearEntries();
  40. extern DbEntry *addEntry();
  41. extern DbEntry *lastEntry();
  42. extern DbEntry *findEntryFromString();
  43. extern DbEntry *findEntryFromIndex();
  44. extern int findIndexFromEntry();
  45. extern void setEntryData(), freeEntryData();
  46. extern void sortEntriesRecursively(), sortEntries();
  47. extern int cmpEntryNames(), cmpEntryDates(), cmpEntryWeights();
  48.  
  49. #define DB_ISDIR(dbp) ((dbp)->type == DB_DIRECTORY)
  50.  
  51. #endif /* DB_H */
  52.